Skip to main content

CKYC Upload API

The following document highlights the details of the CKYC Upload API.

API Description

Objective

The CKYC Upload API lets your organization securely send user KYC records to the Central KYC Records Registry (CKYCRR) through HyperVerge. It handles file creation, encryption, and upload automatically to ensure safe and compliant data transfer.

info

For each Regulated Entity, the maximum permissible CKYC data upload to CKYCRR is limited to 1 GB per day.

InputOutput
User KYC details including OVD images and metadata for Individual, Individual with Related Person, or Legal Entity recordsConfirmation that the upload request has been successfully registered

API URL

The following URLs are available for CKYC Upload API calls in testbed and production environments:

Testbed URL

https://ind-ckyc.dev.hyperverge.co/api/v1/customer/upload

Production URL

https://ind-ckyc.hyperverge.co/api/v1/customer/upload

API Endpoint

customer/upload

Overview

The CKYC Upload API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format, and all files and images must be uploaded as form-data through a POST request.

Method - POST

Authentication

You need a unique pair of application ID (appId) and application key (appKey) from HyperVerge to verify your identity for accessing the CKYC Upload API.

Headers

HeaderMandatory / OptionalDescriptionInput Format
content-typeMandatoryMedia type of the request payloadmultipart/form-data
appIdMandatoryThe application ID shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
appKeyMandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Inputs

Provide the following request body parameters based on the type of entity being uploaded:

ParameterMandatory / OptionalTypeDescriptionInput FormatDefault Value
[parameter]Mandatory (at least one document is mandatory along with a photo of the user for individual records)string

The Officially Valid Documents (OVDs) images that need to be uploaded to the Central KYC Records Registry for Individual and Legal Entity records. These include document parameters such as: photo, aadhaarFront, aadhaarBack, idFront, idBack, etc.

Note:

  1. In cases where both Aadhaar front and back appear on the same page (single combined image), both aadhaarFront and aadhaarBack fields must still be passed in the request. The same image file can be provided for both fields to ensure schema compliance and downstream CKYCRR processing continuity.
  2. Only one document is mandatory; however, uploading both a Proof of Identity (PoI) and a Proof of Address (PoA) is strongly recommended for each record. If a single document serves as both PoI and PoA (e.g., Aadhaar or Passport), it can be used for both purposes.
  3. For individual records, a cropped photograph must be uploaded, while a cropped signature is optional. If a photo is not uploaded for the user, we extract the user's face from the documents submitted.
  4. If details of a related person are required, include two sets of parameters: one for the user's OVD and one for the related person's OVD.

For official guidelines on image quality and document scanning standards, please refer here.

Kindly refer to the complete list of acceptable documents for image verification.Not Applicable
metaDataMandatorystringThe user information being uploaded to the Central KYC Records Registry. The payload inside this metaData parameter must be in JSON format.Kindly refer to the list of fields to be uploaded to the CKYCRR.Not Applicable

Request

The CKYC Upload API request body varies based on the type of entity being uploaded:

  • Individual: For accounts where a single person is the account holder.
  • Individual with Related Person: For cases where an individual's KYC includes details of a related person (e.g., guardianship, joint accounts, or power of attorney). Related Person is mandatory in case of minors.
  • Legal Entity: For organizations such as companies, partnerships, trusts, HUFs, societies, and other non-individual entities.
curl --location --request POST 'https://ind-ckyc.hyperverge.co/api/v1/customer/upload' \
--header 'Content-Type: multipart/form-data' \
--header 'appId: <Enter_the_App_ID>' \
--header 'appKey: <Enter_the_App_Key>' \
--header 'transactionId: <Enter_the_Transaction_ID>' \
--form 'metadata="{}"' \
//below are the parameters for uploading OVD images for an individual
--form 'photo=@"<path_to_photo>"' \
--form 'aadhaarFront=@"<path_to_aadhaar_front>"' \
--form 'aadhaarBack=@"<path_to_aadhaar_back>"' \
--form 'idFront=@"<path_to_front_side_of_ID>"' \
--form 'idBack=@"<path_to_back_side_of_ID>"' \
--form 'passportFront=@"<path_to_passport_front>"' \
--form 'passportBack=@"<path_to_passport_back>"' \
--form 'dlFront=@"<path_to_driving_license_front>"' \
--form 'dlBack=@"<path_to_driving_license_back>"' \
--form 'voterIdFront=@"<path_to_voter_id_front>"' \
--form 'voterIdBack=@"<path_to_voter_id_back>"' \
--form 'voteridFront=@"<path_to_voterid_front>"' \
--form 'voteridBack=@"<path_to_voterid_back>"' \
--form 'jobCard=@"<path_to_job_card>"' \
--form 'signature=@"<path_to_signature>"' \
--form 'nationalPopRegLetter=@"<path_to_national_pop_reg_letter>"' \
--form 'ekycAuth=@"<path_to_ekyc_auth>"' \
--form 'aadhaarOffline=@"<path_to_aadhaar_offline>"'

Metadata

This section details all fields that can be included in the metaData parameter, with sample code snippets illustrating the structure and parameters for each KYC category: Individual, Individual with Related Person, and Legal Entity.

{
"constitutionType": "01",
"isDifferentlyAbled": "yes",
"percentageOfImpairment": 20,
"typeOfImpairment": 1,
"udidNumber": "<Enter_the_udid_number>",
"residentialStatus": "<Enter_the_residential_status>",
"branchCode": "<Enter_the_branch_code>",
"accountType": "01",
"applicantNamePrefix": "<Enter_the_applicant_name_prefix>",
"applicantFirstName": "<Enter_the_applicant_first_name>",
"applicantMiddleName": "<Enter_the_applicant_middle_name>",
"applicantLastName": "<Enter_the_applicant_last_name>",
"applicantMaidenNamePrefix": "<Enter_the_applicant_maiden_name_prefix>",
"applicantMaidenFirstName": "<Enter_the_applicant_maiden_first_name>",
"applicantMaidenMiddleName": "<Enter_the_applicant_maiden_middle_name>",
"applicantMaidenLastName": "<Enter_the_applicant_maiden_last_name>",
"fatherNamePrefix": "<Enter_the_father_name_prefix>",
"fatherFirstName": "<Enter_the_father_first_name>",
"fatherMiddleName": "<Enter_the_father_middle_name>",
"fatherLastName": "<Enter_the_father_last_name>",
"spouseNamePrefix": "<Enter_the_spouse_name_prefix>",
"spouseFirstName": "<Enter_the_spouse_first_name>",
"spouseMiddleName": "<Enter_the_spouse_middle_name>",
"spouseLastName": "<Enter_the_spouse_last_name>",
"motherNamePrefix": "<Enter_the_mother_name_prefix>",
"motherFirstName": "<Enter_the_mother_first_name>",
"motherMiddleName": "<Enter_the_mother_middle_name>",
"motherLastName": "<Enter_the_mother_last_name>",
"gender": "<Enter_the_gender>",
"dob": "<Enter_the_dob>",
"pan": "<Enter_the_pan>", // pass FORM_60 if PAN unavailable
"permanentCurrentAddressMatch": "Y",
"address": {
"line1": "<Enter_the_address_line1>",
"line2": "<Enter_the_address_line2>",
"line3": "<Enter_the_address_line3>",
"city": "<Enter_the_city>",
"district": "<Enter_the_district>",
"state": "<Enter_the_state>",
"country": "<Enter_the_country>",
"pincode": "<Enter_the_pincode>",
"proof": "<Enter_the_proof>"
},
"currentAddress": {
"line1": "<Enter_the_current_address_line1>",
"line2": "<Enter_the_current_address_line2>",
"line3": "<Enter_the_current_address_line3>",
"city": "<Enter_the_current_city>",
"district": "<Enter_the_current_district>",
"state": "<Enter_the_current_state>",
"country": "<Enter_the_current_country>",
"pincode": "<Enter_the_current_pincode>",
"proof": "<Enter_the_current_proof>"
},
"contact": {
"residenceTelephoneStdCode": "<Enter_the_residence_telephone_std_code>",
"residenceTelephone": "<Enter_the_residence_telephone>",
"officeTelephoneStdCode": "<Enter_the_office_telephone_std_code>",
"officeTelephone": "<Enter_the_office_telephone>",
"mobileIsdCode": "<Enter_the_mobile_isd_code>",
"mobile": "<Enter_the_mobile>",
"email": "<Enter_the_email>"
},
"idDetails": [
{
"type": "<Enter_the_id_type>",
"number": "<Enter_the_id_number>"
}
],
"dateOfDeclaration": "<Enter_the_date_of_declaration>",
"placeOfDeclaration": "<Enter_the_place_of_declaration>",
"dateOfKYCVerification": "<Enter_the_date_of_kyc_verification>",
"typeOfDocumentSubmitted": "<Enter_the_type_of_document_submitted>",
"kycVerificationName": "<Enter_the_kyc_verification_name>",
"kycVerificationDesignation": "<Enter_the_kyc_verification_designation>",
"kycVerificationBranch": "<Enter_the_kyc_verification_branch>",
"kycVerificationEmpCode": "<Enter_the_kyc_verification_emp_code>"
}

Metadata Details

ParameterMandatory / OptionalTypeDescriptionInput FormatDefault Value
constitutionTypeMandatorystringType of constitution of the applicantString. Refer to the constitution type reference for valid values.Not Applicable
constitutionTypeOthersMandatory if constitutionType is 'R' for legal entitiesstringOther constitution type detailsString must be of length 1–20Not Applicable
isDifferentlyAbledMandatorystringIndicates if the applicant is differently abledyes / nono
percentageOfImpairmentOptionalnumberPercentage of impairmentNumber between 1–100Not Applicable
typeOfImpairmentOptionalnumberType of impairmentNumber. Please refer to here.Not Applicable
udidNumberOptionalstringUnique Disability Identity (UDID) numberString. 18-character UDID string, formatted as two alphabets followed by sixteen digits.Not Applicable
residentialStatusMandatorystringApplicant's residential status'01' – Resident Individual
'02' – Non Resident Indian
'03' – Foreign National
'04' – Person of Indian Origin
Not Applicable
branchCodeMandatorystringBranch code of the Financial InstitutionString, must not be empty, with a length between 1–15Not Applicable
accountTypeMandatorystringType of account01 – Normal
04 – OTP Based E-KYC
05 – Minor
Not Applicable
entityNameMandatorystringRegistered Legal Entity nameStringNot Applicable
applicantNamePrefixMandatorystringPrefix for applicant nameString must be within 1–5 charactersNot Applicable
applicantFirstNameMandatorystringApplicant's first nameString must be within 1–50 charactersNot Applicable
applicantMiddleNameOptionalstringApplicant's middle nameString must be within 1–50 charactersNot Applicable
applicantLastNameMandatorystringApplicant's last nameString must be within 1–50 charactersNot Applicable
applicantMaidenNamePrefixOptionalstringPrefix of maiden nameString must be within 1–5 charactersNot Applicable
applicantMaidenFirstNameOptionalstringMaiden first nameString must be within 1–50 charactersNot Applicable
applicantMaidenMiddleNameOptionalstringMaiden middle nameString must be within 1–50 charactersNot Applicable
applicantMaidenLastNameOptionalstringMaiden last nameString must be within 1–50 charactersNot Applicable
fatherNamePrefixConditional (at least one of Mother's, Father's, or Spouse's name is required)stringPrefix for father's nameString must be within 1–5 charactersNot Applicable
fatherFirstNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringFather's first nameString must be within 1–50 charactersNot Applicable
fatherMiddleNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringFather's middle nameString must be within 1–50 charactersNot Applicable
fatherLastNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringFather's last nameString must be within 1–50 charactersNot Applicable
spouseNamePrefixConditional (at least one of Mother's, Father's, or Spouse's name is required)stringPrefix for spouse's nameString must be within 1–5 charactersNot Applicable
spouseFirstNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringSpouse's first nameString must be within 1–50 charactersNot Applicable
spouseMiddleNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringSpouse's middle nameString must be within 1–50 charactersNot Applicable
spouseLastNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringSpouse's last nameString must be within 1–50 charactersNot Applicable
motherNamePrefixConditional (at least one of Mother's, Father's, or Spouse's name is required)stringPrefix for mother's nameString must be within 1–5 charactersNot Applicable
motherFirstNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringMother's first nameString must be within 1–50 charactersNot Applicable
motherMiddleNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringMother's middle nameString must be within 1–50 charactersNot Applicable
motherLastNameConditional (at least one of Mother's, Father's, or Spouse's name is required)stringMother's last nameString must be within 1–50 charactersNot Applicable
genderMandatorystringApplicant's gender'M' – Male
'F' – Female
'T' – Transgender
Not Applicable
dobMandatorystringDate of birthString in the format DD-MM-YYYY. Must not be a present or future date.Not Applicable
doiMandatorystringDate of incorporation of the entityString in the format DD-MM-YYYY. Must not be a present or future date.Not Applicable
docOptionalstringDate of commencement of businessString in the format DD-MM-YYYY. Must not be a present or future date.Not Applicable
panMandatory (unless FORM_60 provided)stringPAN number of applicant or FORM 60. In case of FORM 60, the Regulated Entity must collect Form 60 as per regulatory compliance. The API expects only the defined key–value pairs as per the schema.Valid PAN / FORM_60Not Applicable
permanentCurrentAddressMatchMandatorystringFlag indicating if permanent and current address are the same'Y' / 'N'Not Applicable
address.line1MandatorystringAddress line 1 of permanent addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
address.line2OptionalstringAddress line 2 of permanent addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
address.line3OptionalstringAddress line 3 of permanent addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
address.cityMandatorystringCity of permanent addressString must be within 1–50 charactersNot Applicable
address.districtMandatory for India, optional for other countriesstringDistrict of permanent addressString must be within 1–50 charactersNot Applicable
address.stateMandatorystringState of permanent address (2-char CERSAI code or full state name accepted)2-char CERSAI code or full state name (auto-normalised; spelling variants supported). See supported state list.Not Applicable
address.countryMandatorystringCountry of permanent address2-character ISO country code. See ISO codes reference.India
address.pincodeMandatorystringPincode of permanent addressStringNot Applicable
address.proofMandatorystringProof document for permanent addressPlease refer to this list for valid address proof documents.Not Applicable
currentAddress.line1Mandatory if permanentCurrentAddressMatch = NstringAddress line 1 of current addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
currentAddress.line2OptionalstringAddress line 2 of current addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
currentAddress.line3OptionalstringAddress line 3 of current addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
currentAddress.cityMandatory if permanentCurrentAddressMatch = NstringCity of current addressString must be within 1–50 charactersNot Applicable
currentAddress.districtMandatory if permanentCurrentAddressMatch = N and country is IndiastringDistrict of current addressString must be within 1–50 charactersNot Applicable
currentAddress.stateMandatory if permanentCurrentAddressMatch = NstringState of current address (2-char CERSAI code or full state name accepted)2-char CERSAI code or full state name (auto-normalised; spelling variants supported). See supported state list.Not Applicable
currentAddress.countryMandatory if permanentCurrentAddressMatch = NstringCountry of current address2-character ISO country code. See ISO codes reference.Not Applicable
currentAddress.pincodeMandatory if permanentCurrentAddressMatch = NstringPincode of current addressStringNot Applicable
currentAddress.proofMandatory if permanentCurrentAddressMatch = NstringProof document for current addressPlease refer to this list for valid address proof documents.Not Applicable
contact.residenceTelephoneStdCodeOptionalstringSTD code for residence telephoneString must be between 1–4 charactersNot Applicable
contact.residenceTelephoneOptionalstringResidence telephone numberString must be of 10 charactersNot Applicable
contact.officeTelephoneStdCodeOptionalstringSTD code for office telephoneString must be between 1–4 charactersNot Applicable
contact.officeTelephoneOptionalstringOffice telephone numberString must be of 10 charactersNot Applicable
contact.mobileIsdCodeMandatorystringISD code for mobile numberString must be between 1–3 charactersNot Applicable
contact.mobileMandatorystringMobile number of applicantString must be of 10 charactersNot Applicable
contact.emailMandatorystringApplicant's email addressString must be of valid email format and should be between 1–100 charactersNot Applicable
contact.faxStdCodeOptionalstringStandard code for fax numberString must be of length 1–4 charactersNot Applicable
contact.faxOptionalstringFax numberString must be of length 1–10 charactersNot Applicable
idDetails[].typeMandatorystringType of ID submittedPlease refer to this list for valid ID document types.Not Applicable
idDetails[].numberMandatorystringID number corresponding to ID typeStringNot Applicable
dateOfDeclarationMandatorystringDate on which the applicant made the declarationString must be of length 10 characters in DD-MM-YYYY formatNot Applicable
placeOfDeclarationMandatorystringPlace where the applicant made the declarationString must be within 1–50 charactersNot Applicable
placeOfIncorporationMandatorystringPlace of incorporation of the entityString must not be null or undefined. Must be of length between 1–50.Not Applicable
countryOfIncorporationMandatorystringCountry of incorporation of the entity2-character ISO country code. See ISO codes reference.IN
dateOfKYCVerificationMandatorystringDate of KYC verification for the applicantString must be of length 10 characters in DD-MM-YYYY formatNot Applicable
typeOfDocumentSubmittedMandatorystringType of KYC document used for verification

Individual
01 – Certified Copies
02 – E-KYC data received from UIDAI
03 – Data received from offline verification
04 – Digital KYC process
05 – Equivalent e-document
06 – Video-based KYC

Legal Entity
01 – Certified Copies
02 – Equivalent e-document

Not Applicable
kycVerificationNameMandatorystringName of the authorized KYC official at the Regulated Entity (RE) who has verified the user's KYC details prior to CKYC uploadString must be within 1–50 charactersNot Applicable
kycVerificationDesignationMandatorystringDesignation of verifierString must be within 50 charactersNot Applicable
kycVerificationBranchMandatorystringBranch where verification took placeString must be within 1–50 charactersNot Applicable
kycVerificationEmpCodeMandatorystringEmployee code of verifierString must be within 1–50 charactersNot Applicable
relatedPersons[].typeOfRelationMandatorystringType of relation with main applicantNumeric code. See related person type reference for valid values.Not Applicable
relatedPersons[].applicantNamePrefixMandatorystringPrefix for related person's nameString must be within 1–5 charactersNot Applicable
relatedPersons[].applicantFirstNameMandatorystringFirst name of related personString must be within 1–50 charactersNot Applicable
relatedPersons[].applicantMiddleNameOptionalstringMiddle name of related personString must be within 1–50 charactersNot Applicable
relatedPersons[].applicantLastNameMandatorystringLast name of related personString must be within 1–50 charactersNot Applicable
relatedPersons[].applicantMaidenNamePrefixOptionalstringPrefix of maiden name (if applicable)String must be within 1–5 charactersNot Applicable
relatedPersons[].applicantMaidenFirstNameOptionalstringMaiden first nameString must be within 1–50 charactersNot Applicable
relatedPersons[].applicantMaidenMiddleNameOptionalstringMaiden middle nameString must be within 1–50 charactersNot Applicable
relatedPersons[].applicantMaidenLastNameOptionalstringMaiden last nameString must be within 1–50 charactersNot Applicable
relatedPersons[].fatherNamePrefixMandatorystringPrefix for father's nameString must be within 1–5 charactersNot Applicable
relatedPersons[].fatherFirstNameMandatorystringFather's first nameString must be within 1–50 charactersNot Applicable
relatedPersons[].fatherMiddleNameOptionalstringFather's middle nameString must be within 1–50 charactersNot Applicable
relatedPersons[].fatherLastNameMandatorystringFather's last nameString must be within 1–50 charactersNot Applicable
relatedPersons[].spouseNamePrefixOptionalstringPrefix for spouse's nameString must be within 1–5 charactersNot Applicable
relatedPersons[].spouseFirstNameOptionalstringSpouse's first nameString must be within 1–50 charactersNot Applicable
relatedPersons[].spouseMiddleNameOptionalstringSpouse's middle nameString must be within 1–50 charactersNot Applicable
relatedPersons[].spouseLastNameOptionalstringSpouse's last nameString must be within 1–50 charactersNot Applicable
relatedPersons[].motherNamePrefixOptionalstringPrefix for mother's nameString must be within 1–5 charactersNot Applicable
relatedPersons[].motherFirstNameOptionalstringMother's first nameString must be within 1–50 charactersNot Applicable
relatedPersons[].motherMiddleNameOptionalstringMother's middle nameString must be within 1–50 charactersNot Applicable
relatedPersons[].motherLastNameOptionalstringMother's last nameString must be within 1–50 charactersNot Applicable
relatedPersons[].aadhaarMandatorystringAadhaar number of related personFirst 8 digits of the Aadhaar must be maskedNot Applicable
relatedPersons[].genderMandatorystringGender of related person'M' – Male
'F' – Female
'T' – Transgender
Not Applicable
relatedPersons[].dobMandatorystringDate of birth of related personString in the format DD-MM-YYYY. Must not be a present or future date.Not Applicable
relatedPersons[].panMandatorystringPAN number of related personValid PAN numberNot Applicable
relatedPersons[].permanentCurrentAddressMatchMandatorystringIf permanent and current address are the same'Y' / 'N'Y
relatedPersons[].address.line1MandatorystringAddress line 1 of permanent addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
relatedPersons[].address.line2OptionalstringAddress line 2 of permanent addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
relatedPersons[].address.line3OptionalstringAddress line 3 of permanent addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
relatedPersons[].address.cityMandatorystringCity of permanent addressString must be within 1–50 charactersNot Applicable
relatedPersons[].address.districtMandatory if country is IndiastringDistrict of permanent addressString must be within 1–50 charactersNot Applicable
relatedPersons[].address.stateMandatorystringState of permanent address (2-char CERSAI code or full state name accepted)2-char CERSAI code or full state name (auto-normalised; spelling variants supported). See supported state list.Not Applicable
relatedPersons[].address.countryMandatorystringCountry of permanent addressString must be of length 2India
relatedPersons[].address.pincodeMandatorystringPincode of permanent addressString of 6 charactersNot Applicable
relatedPersons[].address.proofMandatorystringProof document for permanent addressPlease refer to this list for valid address proof documents.Not Applicable
relatedPersons[].currentAddress.line1Mandatory if permanentCurrentAddressMatch = NstringAddress line 1 of current addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
relatedPersons[].currentAddress.line2OptionalstringAddress line 2 of current addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
relatedPersons[].currentAddress.line3OptionalstringAddress line 3 of current addressTotal length of address (line1 + line2 + line3) cannot exceed 165 charactersNot Applicable
relatedPersons[].currentAddress.cityMandatory if permanentCurrentAddressMatch = NstringCity of current addressString must be within 1–50 charactersNot Applicable
relatedPersons[].currentAddress.districtMandatory if permanentCurrentAddressMatch = NstringDistrict of current addressString must be within 1–50 charactersNot Applicable
relatedPersons[].currentAddress.stateMandatory if permanentCurrentAddressMatch = NstringState of current address (2-char CERSAI code or full state name accepted)2-char CERSAI code or full state name (auto-normalised; spelling variants supported). See supported state list.Not Applicable
relatedPersons[].currentAddress.countryMandatory if permanentCurrentAddressMatch = NstringCountry of current addressString must be of length 2Not Applicable
relatedPersons[].currentAddress.pincodeMandatory if permanentCurrentAddressMatch = NstringPincode of current addressStringNot Applicable
relatedPersons[].currentAddress.proofMandatory if permanentCurrentAddressMatch = NstringProof document for current addressPlease refer to this list for valid address proof documents.Not Applicable
relatedPersons[].contact.residenceTelephoneStdCodeOptionalstringSTD code for residence telephoneString must be between 1–4 charactersNot Applicable
relatedPersons[].contact.residenceTelephoneOptionalstringResidence telephone numberString must be of 10 charactersNot Applicable
relatedPersons[].contact.officeTelephoneStdCodeOptionalstringSTD code for office telephoneString must be between 1–4 charactersNot Applicable
relatedPersons[].contact.officeTelephoneOptionalstringOffice telephone numberString must be of 10 charactersNot Applicable
relatedPersons[].contact.mobileIsdCodeMandatorystringISD code for mobile numberString must be between 1–3 charactersNot Applicable
relatedPersons[].contact.mobileMandatorystringMobile number of related personString must be of 10 charactersNot Applicable
relatedPersons[].contact.emailMandatorystringEmail of related personString must be of valid email format and should be between 1–100 charactersNot Applicable
relatedPersons[].idDetails[].typeMandatorystringType of ID submittedPlease refer to this list for valid ID document types.Not Applicable
relatedPersons[].idDetails[].numberMandatorystringID number corresponding to ID typeStringNot Applicable
relatedPersons[].dateOfDeclarationMandatorystringDate of declaration by related personString must be of length 10 characters in DD-MM-YYYY formatNot Applicable
relatedPersons[].placeOfDeclarationMandatorystringPlace of declaration by related personString must be within 1–50 charactersNot Applicable
relatedPersons[].dateOfKYCVerificationMandatorystringDate of KYC verification for the related personString must be of length 10 characters in DD-MM-YYYY formatNot Applicable
relatedPersons[].typeOfDocumentSubmittedMandatorystringType of KYC document submitted

Individual
01 – Certified Copies
02 – E-KYC data received from UIDAI
03 – Data received from offline verification
04 – Digital KYC process
05 – Equivalent e-document
06 – Video-based KYC

Not Applicable
relatedPersons[].kycVerificationNameMandatorystringName of verifierString must be within 1–50 charactersNot Applicable
relatedPersons[].kycVerificationDesignationMandatorystringDesignation of verifierString must be within 1–50 charactersNot Applicable
relatedPersons[].kycVerificationBranchMandatorystringBranch where verification took placeString must be within 1–50 charactersNot Applicable
relatedPersons[].kycVerificationEmpCodeMandatorystringEmployee code of verifierString must be within 1–50 charactersNot Applicable
tinOptionalstringTIN/GST number issued to the entity for tax purposesStringNot Applicable
tinIssueCountryMandatory if tin is providedstringCountry that issues the TINString must be of length 2Not Applicable
address.proofOfAddressLegalMandatorystringProof of address for legal entityString must be within 1–75 charactersNot Applicable
remarksOptionalstringAny additional details or remarks on the applicantNot ApplicableNot Applicable
dinMandatory for legal entity if related person type is 'Director'stringDirector Identification NumberString must be of 8 charactersNot Applicable

Success Response

The following example shows a successful response returned by the API:

{
"status": "success",
"statusCode": "200",
"result": {
"transactionid": "<Transaction_ID>",
"message": "Request for upload has been successfully registered"
}
}

Success Response Details

The following table outlines the details of the success response from the CKYC Upload API:

ParameterTypeDescription
statusstringThe status of the request. Returns success on a successful call.
statusCodestringThe HTTP status code for the response.
result.transactionidstringThe transaction ID associated with the upload request.
result.messagestringConfirmation message indicating the upload request was successfully registered.

Error Responses

The following examples show common error responses returned by the API:

{
"status": "failure",
"statusCode": "400",
"error": {
"code": "ER_REQ_VALIDATE",
"message": "user photo not found for related person"
}
}

Error Response Details

The following table summarizes status codes, error messages, and descriptions for CKYC Upload API errors:

Status CodeError MessageError DescriptionError Resolution
400user photo not found for related personA required parameter is missing or invalid in the request bodyVerify all mandatory fields are included and correctly formatted in the request
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid valuesProvide valid appId and appKey credentials in the request headers
500Internal Server ErrorAn unexpected server-side error occurred while processing the requestCheck the request headers and body for correctness, or contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: